/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package graf;

import java.util.ArrayList;

/**
 *
 * @author marek
 */
public class SciezkiDoskonaleAlgorytm implements Pokrycie{

    Graf graf;
    SciezkiProsteAlgorytm spa;

    public SciezkiDoskonaleAlgorytm(Graf graf) {
        this.graf = graf;
        spa = new SciezkiProsteAlgorytm(graf);
    }



    public ArrayList<Sciezka> tworzPokrycie() {
        ArrayList<Sciezka> zbiorSciezek = new ArrayList<Sciezka>();
        ArrayList<Sciezka> proste = spa.tworzPokrycie();

        for(Sciezka s : proste){
            boolean doskonala = true;
            for(Sciezka ss : proste){
                if(ss != s && ss.czyZawieraSciezke(s)){
                    doskonala = false;
                    break;
                }
            }
            if(doskonala){
                zbiorSciezek.add(s);
            }
        }

        return zbiorSciezek;
    }

}
